using AiQiuQuan.Sport.Model.Enums;

namespace AiQiuQuan.Sport.WebApi.Entities
{
    /// <summary>
    /// 提现申请表
    /// </summary>
    public class VenueWithdraw : BaseEntity
    {
        /// <summary>
        /// 提现单号
        /// </summary>
        public string? VW_Code { get; set; }

        /// <summary>
        /// 场馆账户ID
        /// </summary>
        public Guid? VenueInfoAccountID { get; set; }

        /// <summary>
        /// 场馆ID
        /// </summary>
        public Guid? VenueInfoID { get; set; }

        /// <summary>
        /// 提现金额
        /// </summary>
        public decimal? VW_Total { get; set; }

        /// <summary>
        /// 提现状态
        /// </summary>
        public WithdrawStateEnum? VW_State { get; set; }

        /// <summary>
        /// 审核人ID
        /// </summary>
        public Guid? FrameworkUserID { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public string? VW_Reviewer { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTimeOffset? VW_ReviewTime { get; set; }

        /// <summary>
        /// 驳回原因
        /// </summary>
        public string? VW_RejectReason { get; set; }

        /// <summary>
        /// 费率
        /// </summary>
        public int? VW_Rate { get; set; }

        /// <summary>
        /// 服务费
        /// </summary>
        public decimal? VW_ServicePrice { get; set; }

        /// <summary>
        /// 结算金额
        /// </summary>
        public decimal? VW_SettlementPrice { get; set; }

        /// <summary>
        /// 操作类型：0：提现；1：核销入账；2：退款入账；3：退款出账
        /// </summary>
        public WithdrawOperateTypeEnum? OperateType { get; set; }

        /// <summary>
        /// 账户总余额
        /// </summary>
        public decimal? TotalBalance { get; set; }

        /// <summary>
        /// 提现用户ID
        /// </summary>
        public Guid? UserId { get; set; }
    }
}
